 //重写验证规则  检验输入密码的真确性
$.extend($.fn.validatebox.defaults.rules, {
	checkOldPwd: {
		  validator: function(value,newPwd){//value为输入框自动获取的值 deptName可以是传进来的参数
			  var flag = "";
			  flag = checkOldPwd(value, newPwd);
			  if(flag == 1){
				  return true;
			  }else{
				  return false;
			  };
		  },
		  message: '输入的原始密码不正确，请重新输入'
	  }
});
   		
function checkOldPwd(value, oldPwd){//关于检验原始密码的正确性 URL与后台的交互
	var flag= "";
	$.ajax({
		url:"user_checkPwd.action",
		async: false,
		data : {
			oldPwd:value
			},
		success :function(data){
				flag = data;
		},
		type : "post"
		 });
	return flag;
}	



//重写验证规则  检验新密码的强度
$.extend($.fn.validatebox.defaults.rules, {
	checkNewPwd: {
		  validator: function(value,oldPwd){//value为输入框自动获取的值 deptName可以是传进来的参数
			  pwStrength(value);
			  return true;
		  },
	  }
});

//pwStrength函数 
//当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色 
function pwStrength(pwd){ 
	O_color="#eeeeee"; 
	L_color="#FF5050"; 
	M_color="#FF9933"; 
	H_color="#009900"; 
	if (pwd==null||pwd==''){ 
		Lcolor=Mcolor=Hcolor=O_color;
		document.getElementById("idSMT_L").style.display="none";
		document.getElementById("idSMT_M").style.display="none"; 
		document.getElementById("idSMT_H").style.display="none"; 
	} 
	else{ 
		S_level=checkStrong(pwd); 
		switch(S_level) { 
			case 0: 
				Lcolor=Mcolor=Hcolor=O_color; 
				document.getElementById("idSMT_L").style.display="none";
				document.getElementById("idSMT_M").style.display="none"; 
				document.getElementById("idSMT_H").style.display="none"; 
			case 1: 
				Lcolor=L_color; 
				Mcolor=Hcolor=O_color;
				document.getElementById("idSMT_L").style.display="inline";
				break; 
			case 2: 
				Lcolor=Mcolor=M_color;
				document.getElementById("idSMT_L").style.display="none";
				document.getElementById("idSMT_M").style.display="inline"; 
				Hcolor=O_color; 
				break; 
			default: 
				Lcolor=Mcolor=Hcolor=H_color;
				document.getElementById("idSMT_L").style.display="none";
				document.getElementById("idSMT_M").style.display="none"; 
				document.getElementById("idSMT_H").style.display="inline"; 
		} 
	} 
	document.getElementById("strength_L").style.background=Lcolor; 
	document.getElementById("strength_M").style.background=Mcolor; 
	document.getElementById("strength_H").style.background=Hcolor; 
	return; 
} 

//checkStrong函数 
//返回密码的强度级别 
function checkStrong(sPW){ 
	if (sPW.length<=4) 
		return 0; //密码太短 
	Modes=0; 
	for (i=0;i<sPW.length;i++){ 
	//测试每一个字符的类别并统计一共有多少种模式. 
		Modes|=CharMode(sPW.charCodeAt(i)); 
	} 
	return bitTotal(Modes); 
} 

//CharMode函数 
//测试某个字符是属于哪一类. 
function CharMode(iN){ 
	if (iN>=48 && iN <=57) //数字 
		return 1; 
	if (iN>=65 && iN <=90) //大写字母 
		return 2; 
	if (iN>=97 && iN <=122) //小写 
		return 4; 
	else 
		return 8; //特殊字符 
} 

//bitTotal函数 
//计算出当前密码当中一共有多少种模式 
function bitTotal(num){ 
	modes=0; 
	for (i=0;i<4;i++){ 
		if (num & 1) modes++; 
			num>>>=1; 
} 
	return modes; 
} 

//重写验证规则  检验再次输入的新密码
$.extend($.fn.validatebox.defaults.rules, {
	checkreNewPwd: {
		  validator: function(value,oldPwd){//value为输入框自动获取的值 deptName可以是传进来的参数
			  var flag = checkRepassword(value);
			  if(flag){
				  return true;
			  }else{
				  return false;
			  };
		  },
		  message: '两次输入的密码不正确，请重新输入'
	  }
});

//检验第二次输入的密码是否正确
function checkRepassword(repwd){
	var pwd = $('#newPwd').textbox('getValue');
	if(repwd!=pwd){
		return false;
	}
	return true;
}	

//提交数据
function SubmitData(){
	var newPwd = $('#newPwd').textbox('getValue');
	$("#repwdForm").form("submit",{  //做提交动作
		url:'user_passwordEdit.action',//?newPwd='+newPwd, 
		onSubmit:function(){// onSubmit  提交前触发，返回 false 来阻止提交动作
			return $(this).form("validate");
		},
		success:function(data){//当表单提交成功之后的回调函数
			if(data == 1){
				if(confirm("修改成功")){
					window.location.reload();
				}else{
					window.location.reload();
				}
			}else{
				$.messager.alert("系统提示","保存失败");
				return;
			}
		}
	});
}

//取消编辑
function CancelData(){
	window.location.reload();
}